\hypertarget{class_qext_serial_base}{}\section{Qext\+Serial\+Base Class Reference}
\label{class_qext_serial_base}\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}}


{\ttfamily \#include $<$qextserialbase.\+h$>$}

Inheritance diagram for Qext\+Serial\+Base\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{class_qext_serial_base}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_qext_serial_base_abab21776f71ceb4989ad2326680143f5}\label{class_qext_serial_base_abab21776f71ceb4989ad2326680143f5}} 
enum {\bfseries Query\+Mode} \{ {\bfseries Polling}, 
{\bfseries Event\+Driven}
 \}
\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{class_qext_serial_base_abc9dc7c9a7735476800eb5aa35bec6a8}{dsr\+Changed}} (bool status)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_qext_serial_base_aba0fc6d8b5c675c91ebff90fc6415748}{Qext\+Serial\+Base}} ()
\item 
\mbox{\hyperlink{class_qext_serial_base_a136b187c6684be0bac22e616b053f7b7}{Qext\+Serial\+Base}} (const Q\+String \&name)
\item 
virtual \mbox{\hyperlink{class_qext_serial_base_a80eeebbf4585220ec3ced8fcebf6279f}{$\sim$\+Qext\+Serial\+Base}} ()
\item 
virtual void \mbox{\hyperlink{class_qext_serial_base_a7495b472b5e269d04c0c2e856901207f}{construct}} ()
\item 
virtual void \mbox{\hyperlink{class_qext_serial_base_a1c9f83f00f0ea53ee06b757e197cdf64}{set\+Port\+Name}} (const Q\+String \&name)
\item 
virtual Q\+String \mbox{\hyperlink{class_qext_serial_base_a5ec73bcceef66b910bd42a1ab0b6b66f}{port\+Name}} () const
\item 
Qext\+Serial\+Base\+::\+Query\+Mode \mbox{\hyperlink{class_qext_serial_base_a87c78f3a69a8576b9c6a6e4c7318d70a}{query\+Mode}} () const
\item 
virtual void \mbox{\hyperlink{class_qext_serial_base_abd8e3b9a5028f9c2645ba89c0fc08a6b}{set\+Query\+Mode}} (Query\+Mode mode)
\item 
\mbox{\Hypertarget{class_qext_serial_base_a05b59a48366ae452bf8e033f83402543}\label{class_qext_serial_base_a05b59a48366ae452bf8e033f83402543}} 
virtual void {\bfseries set\+Baud\+Rate} (Baud\+Rate\+Type)=0
\item 
virtual Baud\+Rate\+Type \mbox{\hyperlink{class_qext_serial_base_ab85f4bc317e0b03205f4360529d8caf3}{baud\+Rate}} () const
\item 
\mbox{\Hypertarget{class_qext_serial_base_a651f67ec7818b55c0053b47546c56ab5}\label{class_qext_serial_base_a651f67ec7818b55c0053b47546c56ab5}} 
virtual void {\bfseries set\+Data\+Bits} (Data\+Bits\+Type)=0
\item 
virtual Data\+Bits\+Type \mbox{\hyperlink{class_qext_serial_base_afebe4d557c5c944ccd1039cee91871fd}{data\+Bits}} () const
\item 
\mbox{\Hypertarget{class_qext_serial_base_ad57f8cb19a8a48012c1f607155eddedf}\label{class_qext_serial_base_ad57f8cb19a8a48012c1f607155eddedf}} 
virtual void {\bfseries set\+Parity} (Parity\+Type)=0
\item 
virtual Parity\+Type \mbox{\hyperlink{class_qext_serial_base_a7b35a11a804f9ee86b07db8a5b5bc0ee}{parity}} () const
\item 
\mbox{\Hypertarget{class_qext_serial_base_afafca39575da5ab668671bff89fdd4bc}\label{class_qext_serial_base_afafca39575da5ab668671bff89fdd4bc}} 
virtual void {\bfseries set\+Stop\+Bits} (Stop\+Bits\+Type)=0
\item 
virtual Stop\+Bits\+Type \mbox{\hyperlink{class_qext_serial_base_a9d0d52efbebaa1d832bb9c9b2c40532f}{stop\+Bits}} () const
\item 
\mbox{\Hypertarget{class_qext_serial_base_a976c031b3a51bc71abe7804953e0d366}\label{class_qext_serial_base_a976c031b3a51bc71abe7804953e0d366}} 
virtual void {\bfseries set\+Flow\+Control} (Flow\+Type)=0
\item 
virtual Flow\+Type \mbox{\hyperlink{class_qext_serial_base_a099a89f5492e6ff387dd29132cc3ccd0}{flow\+Control}} () const
\item 
\mbox{\Hypertarget{class_qext_serial_base_a3d4a390ed7ac53d920855a820449a6d1}\label{class_qext_serial_base_a3d4a390ed7ac53d920855a820449a6d1}} 
virtual void {\bfseries set\+Timeout} (long)=0
\item 
\mbox{\Hypertarget{class_qext_serial_base_a754cf108d4b7114b1dd538ef6dd65d1a}\label{class_qext_serial_base_a754cf108d4b7114b1dd538ef6dd65d1a}} 
virtual bool {\bfseries open} (Open\+Mode mode)=0
\item 
virtual bool \mbox{\hyperlink{class_qext_serial_base_ae92ca5d58748d206a379f063e6412f17}{is\+Sequential}} () const
\item 
\mbox{\Hypertarget{class_qext_serial_base_a2a4aea428bc05a88f86849bb7478c082}\label{class_qext_serial_base_a2a4aea428bc05a88f86849bb7478c082}} 
virtual void {\bfseries close} ()=0
\item 
\mbox{\Hypertarget{class_qext_serial_base_a58df9d786aa70dfe9f547d4118103f39}\label{class_qext_serial_base_a58df9d786aa70dfe9f547d4118103f39}} 
virtual void {\bfseries flush} ()=0
\item 
\mbox{\Hypertarget{class_qext_serial_base_a86fc9d6239b7d136a9d80b93a727e093}\label{class_qext_serial_base_a86fc9d6239b7d136a9d80b93a727e093}} 
virtual qint64 {\bfseries size} () const =0
\item 
\mbox{\Hypertarget{class_qext_serial_base_a7e130a0ba5a0a9ba95ce5f75a5e2c526}\label{class_qext_serial_base_a7e130a0ba5a0a9ba95ce5f75a5e2c526}} 
virtual qint64 {\bfseries bytes\+Available} ()=0
\item 
virtual bool \mbox{\hyperlink{class_qext_serial_base_a06cb503e03af3a372abc715ac7fbb63c}{at\+End}} () const
\item 
\mbox{\Hypertarget{class_qext_serial_base_ad4564cb1b1fdfb317e6a12cb5b351adf}\label{class_qext_serial_base_ad4564cb1b1fdfb317e6a12cb5b351adf}} 
virtual void {\bfseries unget\+Char} (char c)=0
\item 
virtual qint64 \mbox{\hyperlink{class_qext_serial_base_aee681a896845c9594c84dcd47d7eb566}{read\+Line}} (char $\ast$data, qint64 max\+Size)
\item 
virtual ulong \mbox{\hyperlink{class_qext_serial_base_a5889db7f578e11db0c7980de3720deea}{last\+Error}} () const
\item 
\mbox{\Hypertarget{class_qext_serial_base_aa9c2e9272cff3bd576560335308a8033}\label{class_qext_serial_base_aa9c2e9272cff3bd576560335308a8033}} 
virtual void {\bfseries translate\+Error} (ulong error)=0
\item 
\mbox{\Hypertarget{class_qext_serial_base_a14c7fc36f9e7b7e5a9e798c2c1b35505}\label{class_qext_serial_base_a14c7fc36f9e7b7e5a9e798c2c1b35505}} 
virtual void {\bfseries set\+Dtr} (bool set=true)=0
\item 
\mbox{\Hypertarget{class_qext_serial_base_aaa23d343095f16e7d7b37e7b61022b3a}\label{class_qext_serial_base_aaa23d343095f16e7d7b37e7b61022b3a}} 
virtual void {\bfseries set\+Rts} (bool set=true)=0
\item 
\mbox{\Hypertarget{class_qext_serial_base_a28b87dd41160a61e2953dca38aa332d6}\label{class_qext_serial_base_a28b87dd41160a61e2953dca38aa332d6}} 
virtual ulong {\bfseries line\+Status} ()=0
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_qext_serial_base_ad36903893a43ad4468e25243117dea73}\label{class_qext_serial_base_ad36903893a43ad4468e25243117dea73}} 
virtual qint64 {\bfseries read\+Data} (char $\ast$data, qint64 max\+Size)=0
\item 
\mbox{\Hypertarget{class_qext_serial_base_a39a3aaff93640b767fd44dd7ce705e01}\label{class_qext_serial_base_a39a3aaff93640b767fd44dd7ce705e01}} 
virtual qint64 {\bfseries write\+Data} (const char $\ast$data, qint64 max\+Size)=0
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_qext_serial_base_a0c7cf6443ad80a05d51daaca5d0102ab}\label{class_qext_serial_base_a0c7cf6443ad80a05d51daaca5d0102ab}} 
Q\+Mutex $\ast$ {\bfseries mutex}
\item 
\mbox{\Hypertarget{class_qext_serial_base_a7459f3818391091877c88595a48a950a}\label{class_qext_serial_base_a7459f3818391091877c88595a48a950a}} 
Q\+String {\bfseries port}
\item 
\mbox{\Hypertarget{class_qext_serial_base_a2d796e3080f78ff63e821f528439db57}\label{class_qext_serial_base_a2d796e3080f78ff63e821f528439db57}} 
\mbox{\hyperlink{struct_port_settings}{Port\+Settings}} {\bfseries Settings}
\item 
\mbox{\Hypertarget{class_qext_serial_base_a31816951ba89902fa1dfdb6f18b80f41}\label{class_qext_serial_base_a31816951ba89902fa1dfdb6f18b80f41}} 
ulong {\bfseries last\+Err}
\item 
\mbox{\Hypertarget{class_qext_serial_base_a67f8a0fb2ce91824c1afc6c95e6b3c3a}\label{class_qext_serial_base_a67f8a0fb2ce91824c1afc6c95e6b3c3a}} 
Qext\+Serial\+Base\+::\+Query\+Mode {\bfseries \+\_\+query\+Mode}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\begin{DoxyAuthor}{Author}
Stefan Sander 

Michal Policht
\end{DoxyAuthor}
A common base class for Win\+\_\+\+Qext\+Serial\+Base, Posix\+\_\+\+Qext\+Serial\+Base and \mbox{\hyperlink{class_qext_serial_port}{Qext\+Serial\+Port}}. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_qext_serial_base_aba0fc6d8b5c675c91ebff90fc6415748}\label{class_qext_serial_base_aba0fc6d8b5c675c91ebff90fc6415748}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{Qext\+Serial\+Base()}{QextSerialBase()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Qext\+Serial\+Base\+::\+Qext\+Serial\+Base (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Default constructor. \mbox{\Hypertarget{class_qext_serial_base_a136b187c6684be0bac22e616b053f7b7}\label{class_qext_serial_base_a136b187c6684be0bac22e616b053f7b7}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{Qext\+Serial\+Base()}{QextSerialBase()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Qext\+Serial\+Base\+::\+Qext\+Serial\+Base (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{name }\end{DoxyParamCaption})}

Construct a port and assign it to the device specified by the name parameter. \mbox{\Hypertarget{class_qext_serial_base_a80eeebbf4585220ec3ced8fcebf6279f}\label{class_qext_serial_base_a80eeebbf4585220ec3ced8fcebf6279f}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!````~Qext\+Serial\+Base@{$\sim$\+Qext\+Serial\+Base}}
\index{````~Qext\+Serial\+Base@{$\sim$\+Qext\+Serial\+Base}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{$\sim$\+Qext\+Serial\+Base()}{~QextSerialBase()}}
{\footnotesize\ttfamily Qext\+Serial\+Base\+::$\sim$\+Qext\+Serial\+Base (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Standard destructor. 

\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_qext_serial_base_a06cb503e03af3a372abc715ac7fbb63c}\label{class_qext_serial_base_a06cb503e03af3a372abc715ac7fbb63c}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!at\+End@{at\+End}}
\index{at\+End@{at\+End}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{at\+End()}{atEnd()}}
{\footnotesize\ttfamily bool Qext\+Serial\+Base\+::at\+End (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

This function will return true if the input buffer is empty (or on error), and false otherwise. Call \mbox{\hyperlink{class_qext_serial_base_a5889db7f578e11db0c7980de3720deea}{Qext\+Serial\+Base\+::last\+Error()}} for error information. \mbox{\Hypertarget{class_qext_serial_base_ab85f4bc317e0b03205f4360529d8caf3}\label{class_qext_serial_base_ab85f4bc317e0b03205f4360529d8caf3}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!baud\+Rate@{baud\+Rate}}
\index{baud\+Rate@{baud\+Rate}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{baud\+Rate()}{baudRate()}}
{\footnotesize\ttfamily Baud\+Rate\+Type Qext\+Serial\+Base\+::baud\+Rate (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Returns the baud rate of the serial port. For a list of possible return values see the definition of the enum Baud\+Rate\+Type. \mbox{\Hypertarget{class_qext_serial_base_a7495b472b5e269d04c0c2e856901207f}\label{class_qext_serial_base_a7495b472b5e269d04c0c2e856901207f}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!construct@{construct}}
\index{construct@{construct}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{construct()}{construct()}}
{\footnotesize\ttfamily void Qext\+Serial\+Base\+::construct (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Common constructor function for setting up default port settings. (115200 Baud, 8\+N1, Hardware flow control where supported, otherwise no flow control, and 0 ms timeout). \mbox{\Hypertarget{class_qext_serial_base_afebe4d557c5c944ccd1039cee91871fd}\label{class_qext_serial_base_afebe4d557c5c944ccd1039cee91871fd}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!data\+Bits@{data\+Bits}}
\index{data\+Bits@{data\+Bits}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{data\+Bits()}{dataBits()}}
{\footnotesize\ttfamily Data\+Bits\+Type Qext\+Serial\+Base\+::data\+Bits (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Returns the number of data bits used by the port. For a list of possible values returned by this function, see the definition of the enum Data\+Bits\+Type. \mbox{\Hypertarget{class_qext_serial_base_abc9dc7c9a7735476800eb5aa35bec6a8}\label{class_qext_serial_base_abc9dc7c9a7735476800eb5aa35bec6a8}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!dsr\+Changed@{dsr\+Changed}}
\index{dsr\+Changed@{dsr\+Changed}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{dsr\+Changed}{dsrChanged}}
{\footnotesize\ttfamily void Qext\+Serial\+Base\+::dsr\+Changed (\begin{DoxyParamCaption}\item[{bool}]{status }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

This signal is emitted whenever port settings are updated. 
\begin{DoxyParams}{Parameters}
{\em valid} & {\ttfamily true} if settings are valid, {\ttfamily false} otherwise.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000001}{Todo}}]implement. \end{DoxyRefDesc}


This signal is emitted whenever dsr line has changed its state. You may use this signal to check if device is connected. 
\begin{DoxyParams}{Parameters}
{\em status} & {\ttfamily true} when D\+SR signal is on, {\ttfamily false} otherwise.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
line\+Status(). 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_qext_serial_base_a099a89f5492e6ff387dd29132cc3ccd0}\label{class_qext_serial_base_a099a89f5492e6ff387dd29132cc3ccd0}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!flow\+Control@{flow\+Control}}
\index{flow\+Control@{flow\+Control}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{flow\+Control()}{flowControl()}}
{\footnotesize\ttfamily Flow\+Type Qext\+Serial\+Base\+::flow\+Control (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Returns the type of flow control used by the port. For a list of possible values returned by this function, see the definition of the enum Flow\+Type. \mbox{\Hypertarget{class_qext_serial_base_ae92ca5d58748d206a379f063e6412f17}\label{class_qext_serial_base_ae92ca5d58748d206a379f063e6412f17}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!is\+Sequential@{is\+Sequential}}
\index{is\+Sequential@{is\+Sequential}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{is\+Sequential()}{isSequential()}}
{\footnotesize\ttfamily bool Qext\+Serial\+Base\+::is\+Sequential (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Returns true if device is sequential, otherwise returns false. Serial port is sequential device so this function always returns true. Check Q\+I\+O\+Device\+::is\+Sequential() documentation for more information. \mbox{\Hypertarget{class_qext_serial_base_a5889db7f578e11db0c7980de3720deea}\label{class_qext_serial_base_a5889db7f578e11db0c7980de3720deea}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!last\+Error@{last\+Error}}
\index{last\+Error@{last\+Error}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{last\+Error()}{lastError()}}
{\footnotesize\ttfamily ulong Qext\+Serial\+Base\+::last\+Error (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Returns the code for the last error encountered by the port, or E\+\_\+\+N\+O\+\_\+\+E\+R\+R\+OR if the last port operation was successful. Possible error codes are\+:

\begin{DoxyVerb}Error                           Explanation
---------------------------     -------------------------------------------------------------
E_NO_ERROR                      No Error has occured
E_INVALID_FD                    Invalid file descriptor (port was not opened correctly)
E_NO_MEMORY                     Unable to allocate memory tables (POSIX)
E_CAUGHT_NON_BLOCKED_SIGNAL     Caught a non-blocked signal (POSIX)
E_PORT_TIMEOUT                  Operation timed out (POSIX)
E_INVALID_DEVICE                The file opened by the port is not a character device (POSIX)
E_BREAK_CONDITION               The port detected a break condition
E_FRAMING_ERROR                 The port detected a framing error
                                (usually caused by incorrect baud rate settings)
E_IO_ERROR                      There was an I/O error while communicating with the port
E_BUFFER_OVERRUN                Character buffer overrun
E_RECEIVE_OVERFLOW              Receive buffer overflow
E_RECEIVE_PARITY_ERROR          The port detected a parity error in the received data
E_TRANSMIT_OVERFLOW             Transmit buffer overflow
E_READ_FAILED                   General read operation failure
E_WRITE_FAILED                  General write operation failure
\end{DoxyVerb}
 \mbox{\Hypertarget{class_qext_serial_base_a7b35a11a804f9ee86b07db8a5b5bc0ee}\label{class_qext_serial_base_a7b35a11a804f9ee86b07db8a5b5bc0ee}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!parity@{parity}}
\index{parity@{parity}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{parity()}{parity()}}
{\footnotesize\ttfamily Parity\+Type Qext\+Serial\+Base\+::parity (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Returns the type of parity used by the port. For a list of possible values returned by this function, see the definition of the enum Parity\+Type. \mbox{\Hypertarget{class_qext_serial_base_a5ec73bcceef66b910bd42a1ab0b6b66f}\label{class_qext_serial_base_a5ec73bcceef66b910bd42a1ab0b6b66f}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!port\+Name@{port\+Name}}
\index{port\+Name@{port\+Name}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{port\+Name()}{portName()}}
{\footnotesize\ttfamily Q\+String Qext\+Serial\+Base\+::port\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Returns the name set by \mbox{\hyperlink{class_qext_serial_base_a1c9f83f00f0ea53ee06b757e197cdf64}{set\+Port\+Name()}}. \mbox{\Hypertarget{class_qext_serial_base_a87c78f3a69a8576b9c6a6e4c7318d70a}\label{class_qext_serial_base_a87c78f3a69a8576b9c6a6e4c7318d70a}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!query\+Mode@{query\+Mode}}
\index{query\+Mode@{query\+Mode}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{query\+Mode()}{queryMode()}}
{\footnotesize\ttfamily Qext\+Serial\+Base\+::\+Query\+Mode Qext\+Serial\+Base\+::query\+Mode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

! Get query mode. \begin{DoxyReturn}{Returns}
query mode. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_qext_serial_base_aee681a896845c9594c84dcd47d7eb566}\label{class_qext_serial_base_aee681a896845c9594c84dcd47d7eb566}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!read\+Line@{read\+Line}}
\index{read\+Line@{read\+Line}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{read\+Line()}{readLine()}}
{\footnotesize\ttfamily qint64 Qext\+Serial\+Base\+::read\+Line (\begin{DoxyParamCaption}\item[{char $\ast$}]{data,  }\item[{qint64}]{max\+Size }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

This function will read a line of buffered input from the port, stopping when either max\+Size bytes have been read, the port has no more data available, or a newline is encountered. The value returned is the length of the string that was read. \mbox{\Hypertarget{class_qext_serial_base_a1c9f83f00f0ea53ee06b757e197cdf64}\label{class_qext_serial_base_a1c9f83f00f0ea53ee06b757e197cdf64}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!set\+Port\+Name@{set\+Port\+Name}}
\index{set\+Port\+Name@{set\+Port\+Name}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{set\+Port\+Name()}{setPortName()}}
{\footnotesize\ttfamily void Qext\+Serial\+Base\+::set\+Port\+Name (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Sets the name of the device associated with the object, e.\+g. \char`\"{}\+C\+O\+M1\char`\"{}, or \char`\"{}/dev/tty\+S0\char`\"{}. \mbox{\Hypertarget{class_qext_serial_base_abd8e3b9a5028f9c2645ba89c0fc08a6b}\label{class_qext_serial_base_abd8e3b9a5028f9c2645ba89c0fc08a6b}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!set\+Query\+Mode@{set\+Query\+Mode}}
\index{set\+Query\+Mode@{set\+Query\+Mode}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{set\+Query\+Mode()}{setQueryMode()}}
{\footnotesize\ttfamily void Qext\+Serial\+Base\+::set\+Query\+Mode (\begin{DoxyParamCaption}\item[{Query\+Mode}]{mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Set desired serial communication handling style. You may choose from polling or event driven approach. This function does nothing when port is open; to apply changes port must be reopened.

In event driven approach read() and write() functions are acting asynchronously. They return immediately and the operation is performed in the background, so they doesn\textquotesingle{}t freeze the calling thread. To determine when operation is finished, \mbox{\hyperlink{class_qext_serial_port}{Qext\+Serial\+Port}} runs separate thread and monitors serial port events. Whenever the event occurs, adequate signal is emitted.

When polling is set, read() and write() are acting synchronously. Signals are not working in this mode and some functions may not be available. The advantage of polling is that it generates less overhead due to lack of signals emissions and it doesn\textquotesingle{}t start separate thread to monitor events.

Generally event driven approach is more capable and friendly, although some applications may need as low overhead as possible and then polling comes.


\begin{DoxyParams}{Parameters}
{\em mode} & query mode. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_qext_serial_base_a9d0d52efbebaa1d832bb9c9b2c40532f}\label{class_qext_serial_base_a9d0d52efbebaa1d832bb9c9b2c40532f}} 
\index{Qext\+Serial\+Base@{Qext\+Serial\+Base}!stop\+Bits@{stop\+Bits}}
\index{stop\+Bits@{stop\+Bits}!Qext\+Serial\+Base@{Qext\+Serial\+Base}}
\subsubsection{\texorpdfstring{stop\+Bits()}{stopBits()}}
{\footnotesize\ttfamily Stop\+Bits\+Type Qext\+Serial\+Base\+::stop\+Bits (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Returns the number of stop bits used by the port. For a list of possible return values, see the definition of the enum Stop\+Bits\+Type. 

The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
R\+:/\+Develop/a0-\/develop/\+Lib\+Q\+Qt/src/network/qextserialport/qextserialbase.\+h\item 
R\+:/\+Develop/a0-\/develop/\+Lib\+Q\+Qt/src/network/qextserialport/qextserialbase.\+cpp\end{DoxyCompactItemize}
